PLCopen Homing Methods
The following common homing methods (among others) can be performed in PLCopen. This section details the setting of the ADK parameters and the PLCopen function blocks to accomplish these methods.
PLCopen does not limit you to these methods, as the capture engine is very configurable.
Home using Current Position
Homing using the current position is simply accomplished using the MC_SetPos function block. Using this function block, the current position can be set to any value.
Find Input
Homing using a drive input is accomplished by configuring the AKD capture engine, and then using the MC_Reference function block. The following capture engine parameters need to be configured, along with the following input parameters in the MC_Reference.
- Capture Event has to be set to ignore preconditions (0)
- Capture edge – capture edge is programmed in the MC_Referece block
- Capture Trigger must be set to the desired drive input (0-6)
- Capture mode must be set to capture position (0)
- Capture preselect is not used
- Capture Precondition edge is not used
- MC_Reference inputs:
Trigger_Ref.InputID must be set to 0 or 1 to select which AKD capture engine to use
Trigger_Ref.Direction must be set to Rising (1) or Falling (2) to select Capture Edge
Trigger_Ref.Trigid is not required.
Position input must be programmed to the desired position at the switch.
Option input must be programmed to 0 for "use latched position".
Find Input then find Zero Angle
Homing using a drive input along with the zero angle is similar to "Find Input" except the position is defined at the zero angle of the feedback device, rather than the switch location. It is typically used for resolver feedback.
- Capture Event must be set to ignore preconditions (0)
- Capture edge – capture edge is programmed in the MC_Referece block
- Capture Trigger must be set to the desired drive input (0-6)
- Capture preselect is not used
- Capture Precondition edge is not used
- Capture mode must be set to capture position (0)
- MC_Reference inputs:
Trigger_Ref.InputID must be set to 0 or 1 to select which AKD capture engine to use.
Trigger_Ref.Direction must be set to Rising (1) or Falling (2) to select switch capture edge.
Trigger_Ref.Trigid is not required.
Position input must be programmed to the desired position at the null closest to the switch.
Option input must be programmed to identify the number of poles the resolver has.
Find Input then find Index
Homing using a drive input along with the index is similar to "Find Input" except the position is defined at the index pulse of the feedback device, rather than the switch location. It is typically used for incremental encoder feedback. To accomplish this, a precondition is used in the capture engine. Specifically, the input is the precondition, and the index is the event. The reference method looks for the switch first, and then the index pulse.
- Capture Event must be set to the desired switch operation. Typically set to 1 to require the edge of the switch. Set to 2 or 3 if the state of the switch is required.
- Capture preselect must be set to the desired drive input (0-7)
- Capture edge – capture edge of index pulse is programmed in the MC_Referece block
- Capture Trigger must be set to the desired index input (10 = primary index,11 = tertiary index)
- Capture mode must be set to capture position (0)
- MC_Reference inputs:
Trigger_Ref.InputID must be set to 0 or 1 to select which AKD capture engine to use
Trigger_Ref.Direction must be set to Rising (1) or Falling (2) to select Capture Edge
Trigger_Ref.Trigid is not required.
Position input must be programmed to the desired position at the index pulse.
Option input must be programmed to 0 for "use latched position".
Find Index
Homing using a drive index pulse is accomplished by configuring the AKD capture engine, and then using the MC_Reference function block. The following capture engine parameters need to be configured, along with the following input parameters in the MC_Reference.
- Capture Event must be set to ignore preconditions (0)
- Capture edge – capture edge is programmed in the MC_Referece block
- Capture Trigger must be set to the desired index input (10 = primary index,11 = tertiary index)
- Capture mode must be set to capture position (0)
- Capture preselect is not used
- Capture Precondition edge is not used
- MC_Reference inputs:
Trigger_Ref.InputID must be set to 0 or 1 to select which AKD capture engine to use
Trigger_Ref.Direction must be set to Rising (1) or Falling (2) to select Capture Edge
Trigger_Ref.Trigid is not required.
Position input must be programmed to the desired position at the index pulse.
Option input must be programmed to 0 for use latched position.